package com.ywk.base.common.util;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @Author zbh
 * @Date 2023/3/3
 */
public class ChartDataFormatUtil {

    /**
     * 折线图或柱状图数据格式封装
     * @param data （需按照特定数据格式）
     * @return
     */
    public static Map<String, Object> formatDataByLineOrBar(List<Map<String, Object>> data){
        if (data.size()<=0) {
            return null;
        }
        Map<String, Object> res=new HashMap<String, Object>();
        List xAxisData;//xAxis数据-存时间（x轴数据）
        Map<String, Object> seriesData=new HashMap<>();//series数据

        xAxisData=data.stream().map(i->i.get("xAxis").toString()).collect(Collectors.toList());

        //对应前端series数组大小
        int seriesSize = data.get(0).size()-1;
        for (int i = 0; i < seriesSize; i++) {
            String idx = String.valueOf(i);
            List seriesItem=data.stream().map(item->item.get(idx)).collect(Collectors.toList());
            seriesData.put(idx,seriesItem);//series数据
        }

        res.put("xAxisData",xAxisData);
        res.put("seriesData",seriesData);
        return res;
    }
}
